--
-- Juniper Enterprise Specific MIB: Chassis MIB
-- 
-- Copyright (c) 1998-2007, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--


JUNIPER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Gauge32, Counter32
        FROM SNMPv2-SMI
    DisplayString, TimeStamp, TimeInterval, TEXTUAL-CONVENTION, DateAndTime
        FROM SNMPv2-TC
    jnxMibs, jnxChassisTraps, jnxChassisOKTraps
        FROM JUNIPER-SMI;

jnxBoxAnatomy MODULE-IDENTITY

    LAST-UPDATED "200611200000Z" -- Mon Nov 20 00:00:00 2006 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
                     Juniper Networks, Inc.
                     1194 N. Mathilda Avenue
                     Sunnyvale, CA 94089
                     E-mail: support@juniper.net"

    DESCRIPTION
            "The MIB modules representing Juniper Networks'
            implementation of enterprise specific MIBs 
            supported by a single SNMP agent."
    REVISION      "200403230000Z"
    DESCRIPTION
               "Added chassis identification objects."
    REVISION     "200406300000Z"    -- July 30, 2004
    DESCRIPTION
               "Added following new traps for chassis
                alarm conditions: jnxFruFailed, jnxFruOffline
                and jnxFruOnline."
    REVISION     "200409170000Z"    -- Sep 17, 2004
    DESCRIPTION
               "Added new traps for chassis
                alarm condition jnxFruCheck."
    REVISION     "200507180000Z"    -- Jul 18, 2005
    DESCRIPTION
               "Added new fru type FEB in jnxFruType enumeration."
    REVISION     "200507190000Z"    -- Jul 19, 2005
    DESCRIPTION
               "Added new offline reason pfeVersionMismatch
                to jnxFruOfflineReason enumeration."
    REVISION     "200611200000Z"    -- Nov 20, 2006
    DESCRIPTION
               "Added new offline reason fruFebOffline
                to jnxFruOfflineReason enumeration."

    ::= { jnxMibs 1 }

--
-- Textual Conventions
--

JnxChassisId ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION  "Identifies a specific router chassis."
    SYNTAX       INTEGER {
                     unknown       (1),
                     singleChassis (2),
                     scc           (3),
                     lcc0          (4),
                     lcc1          (5),
                     lcc2          (6),
                     lcc3          (7)
                 }



-- Juniper Box Anatomy MIB
--

-- Top level objects

    jnxBoxClass OBJECT-TYPE 
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The class of the box, indicating which product line
                the box is about, for example, 'Internet Router'."
        ::= { jnxBoxAnatomy 1 }

    jnxBoxDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name, model, or detailed description of the box,
                indicating which product the box is about, for example
                'M40'."
        ::= { jnxBoxAnatomy 2 }

    jnxBoxSerialNo OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The serial number of this subject, blank if unknown 
                or unavailable."
        ::= { jnxBoxAnatomy 3 }

    jnxBoxRevision OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The revision of this subject, blank if unknown or
                unavailable."
        ::= { jnxBoxAnatomy 4 }

    jnxBoxInstalled OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the subject was last
                installed, up-and-running.  Zero if unknown or 
                already up-and-running when the agent was up."
        ::= { jnxBoxAnatomy 5 }

--
-- Box Containers Table
--

    jnxContainersTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxContainersEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of containers entries."
        ::= { jnxBoxAnatomy 6 }

    jnxContainersEntry OBJECT-TYPE
        SYNTAX          JnxContainersEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry of containers table."
        INDEX   { jnxContainersIndex }
        ::= { jnxContainersTable 1 }

    JnxContainersEntry ::= SEQUENCE {
            jnxContainersIndex          Integer32,
            jnxContainersView           Integer32,
            jnxContainersLevel          Integer32,
            jnxContainersWithin         Integer32,
            jnxContainersType           OBJECT IDENTIFIER,
            jnxContainersDescr          DisplayString,
            jnxContainersCount          Integer32
    }

    jnxContainersIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The index for this entry."
        ::= { jnxContainersEntry 1 }

    jnxContainersView OBJECT-TYPE
        SYNTAX          Integer32 (1..63)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The view(s) from which the specific container
                appears.

                This variable indicates that the specific container
                is embedded and accessible from the corresponding
                view(s).

                The value is a bit map represented as a sum.
                If multiple bits are set, the specified
                container(s) are located and accessible from 
                that set of views.

                The various values representing the bit positions
                and its corresponding views are:
                    1   front
                    2   rear
                    4   top
                    8   bottom
                   16   leftHandSide
                   32   rightHandSide

                Note 1: 
                LefHandSide and rightHandSide are referred
                to based on the view from the front.

                Note 2: 
                If the specified containers are scattered 
                around various views, the numbering is according
                to the following sequence:
                    front -> rear -> top -> bottom
                          -> leftHandSide -> rightHandSide
                For each view plane, the numbering sequence is
                first from left to right, and then from up to down.

                Note 3: 
                Even though the value in chassis hardware (e.g. 
                slot number) may be labelled from 0, 1, 2, and up,
                all the indices in MIB start with 1 (not 0) 
                according to network management convention."
        ::= { jnxContainersEntry 2 }

    jnxContainersLevel OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The abstraction level of the box or chassis.
                It is enumerated from the outside to the inside, 
                from the outer layer to the inner layer.
                For example, top level (i.e. level 0) refers to 
                chassis frame, level 1 FPC slot within chassis 
                frame, level 2 PIC space within FPC slot."
        ::= { jnxContainersEntry 3 }

    jnxContainersWithin OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The index of its next higher level container 
                housing this entry.  The associated 
                jnxContainersIndex in the jnxContainersTable 
                represents its next higher level container."
        ::= { jnxContainersEntry 4 }

    jnxContainersType OBJECT-TYPE
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The type of this container."
        ::= { jnxContainersEntry 5 }

    jnxContainersDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this
                subject."
        ::= { jnxContainersEntry 6 }

    jnxContainersCount OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The maximum number of containers of this level
                per container of the next higher level.  
                e.g. if there are six level 2 containers in 
                level 1 container, then jnxContainersCount for
                level 2 is six."
        ::= { jnxContainersEntry 7 }

--
-- Box Contents Table
--

    jnxContentsLastChange OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the box contents 
                table last changed.  Zero if unknown or already 
                existing when the agent was up."
        ::= { jnxBoxAnatomy 7 }

    jnxContentsTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxContentsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of contents entries."
        ::= { jnxBoxAnatomy 8 }

    jnxContentsEntry OBJECT-TYPE
        SYNTAX          JnxContentsEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry of contents table."
        INDEX   { jnxContentsContainerIndex, 
                  jnxContentsL1Index,
                  jnxContentsL2Index,
                  jnxContentsL3Index }
        ::= { jnxContentsTable 1 }

    JnxContentsEntry ::= SEQUENCE {
            jnxContentsContainerIndex   Integer32,
            jnxContentsL1Index          Integer32,
            jnxContentsL2Index          Integer32,
            jnxContentsL3Index          Integer32,
            jnxContentsType             OBJECT IDENTIFIER,
            jnxContentsDescr            DisplayString,
            jnxContentsSerialNo         DisplayString,
            jnxContentsRevision         DisplayString,
            jnxContentsInstalled        TimeStamp,
            jnxContentsPartNo           DisplayString,
            jnxContentsChassisId        JnxChassisId,
            jnxContentsChassisDescr     DisplayString
    }

    jnxContentsContainerIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The associated jnxContainersIndex in the 
                jnxContainersTable."
        ::= { jnxContentsEntry 1 }
        
    jnxContentsL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level one index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxContentsEntry 2 }

    jnxContentsL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level two index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxContentsEntry 3 }

    jnxContentsL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level three index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxContentsEntry 4 }

    jnxContentsType OBJECT-TYPE
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The type of this subject.  zeroDotZero
                if unknown."
        ::= { jnxContentsEntry 5 }

    jnxContentsDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this
                subject."
        ::= { jnxContentsEntry 6 }

    jnxContentsSerialNo OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The serial number of this subject, blank if 
                unknown or unavailable."
        ::= { jnxContentsEntry 7 }

    jnxContentsRevision OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The revision of this subject, blank if unknown 
                or unavailable."
        ::= { jnxContentsEntry 8 }

    jnxContentsInstalled OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the subject was last 
                installed, up-and-running.  Zero if unknown
                or already up-and-running when the agent was up."
        ::= { jnxContentsEntry 9 }

    jnxContentsPartNo OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The part number of this subject, blank if unknown 
                or unavailable."
        ::= { jnxContentsEntry 10 }

    jnxContentsChassisId OBJECT-TYPE
        SYNTAX          JnxChassisId
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "Identifies the chassis on which the contents of this
                row exists."
        ::= { jnxContentsEntry 11 }

    jnxContentsChassisDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "A textual description of the chassis on which the
                contents of this row exists."
        ::= { jnxContentsEntry 12 }


--
-- Box LED Indicators Table
--

    jnxLEDLastChange OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The value of sysUpTime when the box LED table 
                last changed.  Zero if unknown or already at 
                that state when the agent was up."
        ::= { jnxBoxAnatomy 9 }

    jnxLEDTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxLEDEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "A list of status entries."
        ::= { jnxBoxAnatomy 10 }

    jnxLEDEntry OBJECT-TYPE
        SYNTAX          JnxLEDEntry
        MAX-ACCESS      not-accessible
        STATUS          deprecated
        DESCRIPTION
                "An entry of status table."
        INDEX   { jnxLEDAssociateTable,
                  jnxLEDAssociateIndex,
                  jnxLEDL1Index,
                  jnxLEDL2Index,
                  jnxLEDL3Index }
        ::= { jnxLEDTable 1 }

    JnxLEDEntry ::= SEQUENCE {
            jnxLEDAssociateTable        INTEGER,
            jnxLEDAssociateIndex        Integer32,
            jnxLEDL1Index               Integer32,
            jnxLEDL2Index               Integer32,
            jnxLEDL3Index               Integer32,
            jnxLEDOriginator            OBJECT IDENTIFIER,
            jnxLEDDescr                 DisplayString,
            jnxLEDState                 INTEGER,
            jnxLEDStateOrdered          INTEGER
    }

    jnxLEDAssociateTable OBJECT-TYPE
        SYNTAX          INTEGER {
                other(1),
                jnxContainersTable(2),
                jnxContentsTable(3)
        }
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The associated table that this entry is 
                related."
        ::= { jnxLEDEntry 1 }

    jnxLEDAssociateIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The index of the associated table that this
                entry is related."
        ::= { jnxLEDEntry 2 }

    jnxLEDL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The level one index of the associated
                table that this entry is related.  Zero 
                if unavailable or inapplicable."
        ::= { jnxLEDEntry 3 }

    jnxLEDL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The level two index of the associated
                table that this entry is related.  Zero 
                if unavailable or inapplicable."
        ::= { jnxLEDEntry 4 }

    jnxLEDL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The level three index of the associated
                table that this entry is related.  Zero
                if unavailable or inapplicable."
        ::= { jnxLEDEntry 5 }

    jnxLEDOriginator OBJECT-TYPE
        SYNTAX          OBJECT IDENTIFIER
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The originator of the this entry."
        ::= { jnxLEDEntry 6 }

    jnxLEDDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The name or detailed description of this subject."
        ::= { jnxLEDEntry 7 }

    jnxLEDState OBJECT-TYPE
        SYNTAX          INTEGER {
                other(1),     -- unknown or unavailable
                green(2),     -- ok, good, normally working,
                              -- or on-line as a standby backup if
                              -- there is an active primary
                yellow(3),    -- alarm, warning, marginally working
                red(4),       -- alert, failed, not working
                blue(5),      -- ok, on-line as an active primary
                amber(6)      -- alarm, off-line, not running
        }
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The state of the LED indicator."
        ::= { jnxLEDEntry 8 }

    jnxLEDStateOrdered OBJECT-TYPE
        SYNTAX          INTEGER {
                blue(1),      -- ok, on-line as an active primary
                green(2),     -- ok, good, normally working,
                              -- or on-line as a standby backup if
                              -- there is an active primary
                amber(3),     -- alarm, off-line, not running
                yellow(4),    -- alarm, warning, marginally working
                red(5),       -- alert, failed, not working
                other(6)      -- unknown or unavailable
        }
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The state of the LED indicator.  Identical to jnxLEDState, but
                with enums ordered from 'most operational' to 'least
                operational' states."
        ::= { jnxLEDEntry 9 }
--
-- Box Filled Status Table
--
-- This table show the empty/filled status of the container in the 
-- box containers table.
--

    jnxFilledLastChange OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the box filled 
                status table last changed.  Zero if unknown or
                already at that state when the agent was up."
        ::= { jnxBoxAnatomy 11 }
        
    jnxFilledTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxFilledEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of filled status entries."
        ::= { jnxBoxAnatomy 12 }

    jnxFilledEntry OBJECT-TYPE
        SYNTAX          JnxFilledEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry of filled status table."
        INDEX   { jnxFilledContainerIndex,
                  jnxFilledL1Index,
                  jnxFilledL2Index,
                  jnxFilledL3Index }
        ::= { jnxFilledTable 1 }

    JnxFilledEntry ::= SEQUENCE {
            jnxFilledContainerIndex     Integer32,
            jnxFilledL1Index            Integer32,
            jnxFilledL2Index            Integer32,
            jnxFilledL3Index            Integer32,
            jnxFilledDescr              DisplayString,
            jnxFilledState              INTEGER,
            jnxFilledChassisId          JnxChassisId,
            jnxFilledChassisDescr       DisplayString
    }

    jnxFilledContainerIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The associated jnxContainersIndex in the 
                jnxContainersTable."
        ::= { jnxFilledEntry 1 }
        
    jnxFilledL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level one index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxFilledEntry 2 }

    jnxFilledL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level two index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxFilledEntry 3 }

    jnxFilledL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level three index of the container
                housing this subject.  Zero if unavailable
                or inapplicable."
        ::= { jnxFilledEntry 4 }

    jnxFilledDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this
                subject."
        ::= { jnxFilledEntry 5 }

    jnxFilledState OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),
                empty(2),
                filled(3)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The filled state of this subject."
        ::= { jnxFilledEntry 6 }

    jnxFilledChassisId OBJECT-TYPE
        SYNTAX         JnxChassisId
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "Identifies the chassis on which the contents of this
                row exists."
        ::= { jnxFilledEntry 7 }

    jnxFilledChassisDescr OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS         current
        DESCRIPTION
                "A textual description of the chassis on which the
                contents of this row exists."
        ::= { jnxFilledEntry 8 }


--
-- Box Operating Status Table
--
-- This table reveals the operating status of some subjects 
-- of interest in the box contents table.
--

    jnxOperatingTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxOperatingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of operating status entries."
        ::= { jnxBoxAnatomy 13 }

    jnxOperatingEntry OBJECT-TYPE
        SYNTAX          JnxOperatingEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry of operating status table."
        INDEX   { jnxOperatingContentsIndex,
                  jnxOperatingL1Index,
                  jnxOperatingL2Index,
                  jnxOperatingL3Index }
        ::= { jnxOperatingTable 1 }

    JnxOperatingEntry ::= SEQUENCE {
            jnxOperatingContentsIndex   Integer32,
            jnxOperatingL1Index         Integer32,
            jnxOperatingL2Index         Integer32,
            jnxOperatingL3Index         Integer32,
            jnxOperatingDescr           DisplayString,
            jnxOperatingState           INTEGER,
            jnxOperatingTemp            Gauge32,
            jnxOperatingCPU             Gauge32,
            jnxOperatingISR             Gauge32,
            jnxOperatingDRAMSize        Integer32,
            jnxOperatingBuffer          Gauge32,
            jnxOperatingHeap            Gauge32,
            jnxOperatingUpTime          TimeInterval,
            jnxOperatingLastRestart     TimeStamp,
            jnxOperatingMemory          Integer32,
            jnxOperatingStateOrdered    INTEGER,
            jnxOperatingChassisId       JnxChassisId,
            jnxOperatingChassisDescr    DisplayString,
            jnxOperatingRestartTime     DateAndTime
    }

    jnxOperatingContentsIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The associated jnxContentsContainerIndex in the 
                jnxContentsTable."
        ::= { jnxOperatingEntry 1 }
        
    jnxOperatingL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level one index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 2 }

    jnxOperatingL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level two index associated with this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 3 }

    jnxOperatingL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level three index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 4 }

    jnxOperatingDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this subject."
        ::= { jnxOperatingEntry 5 }

    jnxOperatingState OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),
                running(2),   -- up and running,
                              -- as a active primary
                ready(3),     -- ready to run, not running yet
                reset(4),     -- held in reset, not ready yet
                runningAtFullSpeed(5),  
                              -- valid for fans only
                down(6),      -- down or off, for power supply
                standby(7)    -- running as a standby backup
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The operating state of this subject."
        ::= { jnxOperatingEntry 6 }

    jnxOperatingTemp OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The temperature in Celsius (degrees C) of this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 7 }

    jnxOperatingCPU OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The CPU utilization in percentage of this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 8 }
        
    jnxOperatingISR OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The CPU utilization in percentage of this subject
                spending in interrupt service routine (ISR).
                Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 9 }
        
    jnxOperatingDRAMSize OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The DRAM size in bytes of this subject.
                Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 10 }
        
    jnxOperatingBuffer OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The buffer pool utilization in percentage
                of this subject.  Zero if unavailable or 
                inapplicable."
        ::= { jnxOperatingEntry 11 }
        
    jnxOperatingHeap OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The heap utilization in percentage of 
                this subject.  Zero if unavailable or 
                inapplicable."
        ::= { jnxOperatingEntry 12 }

    jnxOperatingUpTime OBJECT-TYPE
        SYNTAX          TimeInterval
        MAX-ACCESS      read-only
        STATUS          deprecated
        DESCRIPTION
                "The time interval in 10-millisecond period
                that this subject has been up and running.  
                Zero if unavailable or inapplicable."
        ::= { jnxOperatingEntry 13 }

    jnxOperatingLastRestart OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when this subject 
                last restarted.  Zero if unavailable or 
                inapplicable."
        ::= { jnxOperatingEntry 14 }

    jnxOperatingMemory OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The installed memory size in Megabytes 
                of this subject.  Zero if unavailable or
                inapplicable."
        ::= { jnxOperatingEntry 15 }

    jnxOperatingStateOrdered OBJECT-TYPE
        SYNTAX          INTEGER {
                running(1),   -- up and running,
                              -- as a active primary
                standby(2),   -- running as a standby backup
                ready(3),     -- ready to run, not running yet
                runningAtFullSpeed(4),  
                              -- valid for fans only
                reset(5),     -- held in reset, not ready yet
                down(6),      -- down or off, for power supply
                unknown(7)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The operating state of this subject.  Identical to
                 jnxOperatingState, but with enums ordered from 'most
                 operational' to 'least operational' states."
        ::= { jnxOperatingEntry 16 }

    jnxOperatingChassisId OBJECT-TYPE
        SYNTAX         JnxChassisId
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "Identifies the chassis on which the contents of this
                row exists."
        ::= { jnxOperatingEntry 17 }

    jnxOperatingChassisDescr OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS         current
        DESCRIPTION
                "A textual description of the chassis on which the
                contents of this row exists."
        ::= { jnxOperatingEntry 18 }

    jnxOperatingRestartTime OBJECT-TYPE
        SYNTAX          DateAndTime
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The time at which this entity
                last restarted."
        ::= { jnxOperatingEntry 19 }


--
-- Box Redundancy Information Table
--
-- This table shows the internal configuration setting for the 
-- available redundant subsystems or components in the box.
--

    jnxRedundancyTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxRedundancyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of redundancy information entries."
        ::= { jnxBoxAnatomy 14 }

    jnxRedundancyEntry OBJECT-TYPE
        SYNTAX          JnxRedundancyEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry in the redundancy information table."
        INDEX   { jnxRedundancyContentsIndex,
                  jnxRedundancyL1Index,
                  jnxRedundancyL2Index,
                  jnxRedundancyL3Index }
        ::= { jnxRedundancyTable 1 }

    JnxRedundancyEntry ::= SEQUENCE {
            jnxRedundancyContentsIndex       Integer32,
            jnxRedundancyL1Index             Integer32,
            jnxRedundancyL2Index             Integer32,
            jnxRedundancyL3Index             Integer32,
            jnxRedundancyDescr               DisplayString,
            jnxRedundancyConfig              INTEGER,
            jnxRedundancyState               INTEGER,
            jnxRedundancySwitchoverCount     Counter32,
            jnxRedundancySwitchoverTime      TimeStamp,
            jnxRedundancySwitchoverReason    INTEGER,
            jnxRedundancyKeepaliveHeartbeat  Integer32,
            jnxRedundancyKeepaliveTimeout    Integer32,
            jnxRedundancyKeepaliveElapsed    Integer32,
            jnxRedundancyKeepaliveLoss       Counter32,
            jnxRedundancyChassisId           JnxChassisId,
            jnxRedundancyChassisDescr        DisplayString
    }

    jnxRedundancyContentsIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The associated jnxContentsContainerIndex in the 
                jnxContentsTable."
        ::= { jnxRedundancyEntry 1 }
        
    jnxRedundancyL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level one index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 2 }

    jnxRedundancyL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level two index associated with this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 3 }

    jnxRedundancyL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level three index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 4 }

    jnxRedundancyDescr OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this subject."
        ::= { jnxRedundancyEntry 5 }

    jnxRedundancyConfig OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),
                master(2),    -- election priority set as a master
                backup(3),    -- election priority set as a backup
                disabled(4),  -- election disabled
                notApplicable(5) -- any among the available can be master
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The election priority of redundancy configuration for
                this subject.  The value 'notApplicable' means no
                specific instance is configured to be master or
                backup; whichever component boots up first becomes a
                master."
        ::= { jnxRedundancyEntry 6 }

    jnxRedundancyState OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),
                master(2),    -- master
                backup(3),    -- backup
                disabled(4)   -- disabled
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The current running state for this subject."
        ::= { jnxRedundancyEntry 7 }

    jnxRedundancySwitchoverCount OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of switchover as perceived by
                this subject since routing engine is up and running.
                The switchover is defined as a change in state of
                jnxRedundancyState from master to backup or vice
                versa.  Its value is reset when the routing engine
                is reset or rebooted."
        ::= { jnxRedundancyEntry 8 }

    jnxRedundancySwitchoverTime OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when the jnxRedundancyState
                of this subject was last switched over from master
                to backup or vice versa.  Zero if unknown or never
                switched over since the routing engine is up and
                running."
        ::= { jnxRedundancyEntry 9 }

    jnxRedundancySwitchoverReason OBJECT-TYPE
        SYNTAX          INTEGER {
                other(1),               -- others
                neverSwitched(2),       -- never switched
                userSwitched(3),        -- user-initiated switchover
                autoSwitched(4)         -- automatic switchover
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The reason of the last switchover for this subject."
        ::= { jnxRedundancyEntry 10 }

    jnxRedundancyKeepaliveHeartbeat OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The period of sending keepalive messages between
                the master and backup subsystems.  It is a system-wide
                preset value in seconds used by internal mastership
                resolution.  Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 11 }

    jnxRedundancyKeepaliveTimeout OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The timeout period in seconds, by the keepalive 
                watchdog timer, before initiating a switch over to 
                the backup subsystem.  Zero if unavailable or 
                inapplicable."
        ::= { jnxRedundancyEntry 12 }

    jnxRedundancyKeepaliveElapsed OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The elapsed time in seconds by this subject since 
                receiving the last keepalive message from the other
                subsystems.  Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 13 }

    jnxRedundancyKeepaliveLoss OBJECT-TYPE
        SYNTAX          Counter32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The total number of losses on keepalive messages 
                between the master and backup subsystems as perceived
                by this subject since the system is up and running.  
                Zero if unavailable or inapplicable."
        ::= { jnxRedundancyEntry 14 }

    jnxRedundancyChassisId OBJECT-TYPE
        SYNTAX         JnxChassisId
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "Identifies the chassis on which the contents of this
                row exists."
        ::= { jnxRedundancyEntry 15 }

    jnxRedundancyChassisDescr OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS         current
        DESCRIPTION
                "A textual description of the chassis on which the
                contents of this row exists."
        ::= { jnxRedundancyEntry 16 }

        
--
-- FRU (Field Replaceable Unit) Status Table
--
-- This table shows the status of the FRUs in the chassis.
--

    jnxFruTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF JnxFruEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "A list of FRU status entries."
        ::= { jnxBoxAnatomy 15 }

    jnxFruEntry OBJECT-TYPE
        SYNTAX          JnxFruEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "An entry in the FRU status table."
        INDEX   { jnxFruContentsIndex,
                  jnxFruL1Index,
                  jnxFruL2Index,
                  jnxFruL3Index }
        ::= { jnxFruTable 1 }

    JnxFruEntry ::= SEQUENCE {
            jnxFruContentsIndex       Integer32,
            jnxFruL1Index             Integer32,
            jnxFruL2Index             Integer32,
            jnxFruL3Index             Integer32,
            jnxFruName                DisplayString,
            jnxFruType                INTEGER,
            jnxFruSlot                Integer32,
            jnxFruState               INTEGER,
            jnxFruTemp                Gauge32,
            jnxFruOfflineReason       INTEGER,
            jnxFruLastPowerOff        TimeStamp,
            jnxFruLastPowerOn         TimeStamp,
            jnxFruPowerUpTime         TimeInterval,
            jnxFruChassisId           JnxChassisId,
            jnxFruChassisDescr        DisplayString
    }

    jnxFruContentsIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The associated jnxContentsContainerIndex in the 
                jnxContentsTable."
        ::= { jnxFruEntry 1 }
        
    jnxFruL1Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level one index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 2 }

    jnxFruL2Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level two index associated with this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 3 }

    jnxFruL3Index OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The level three index associated with this
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 4 }

    jnxFruName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name or detailed description of this subject."
        ::= { jnxFruEntry 5 }

    jnxFruType OBJECT-TYPE
        SYNTAX          INTEGER {
                other(1),                               -- unknown or others
                clockGenerator(2),                      -- CG
                flexiblePicConcentrator(3),             -- FPC
                switchingAndForwardingModule(4),        -- SFM
                controlBoard(5),                        -- CBD, SCB
                routingEngine(6),                       -- RE
                powerEntryModule(7),                    -- PEM
                frontPanelModule(8),                    -- FPM
                switchInterfaceBoard(9),                -- SIB
                processorMezzanineBoardForSIB(10),      -- SPMB
                portInterfaceCard(11),                  -- PIC
                craftInterfacePanel(12),                -- CIP
                fan(13),                                -- fan
                lineCardChassis(14),                    -- LCC
                forwardingEngineBoard(15)               -- FEB
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The FRU type for this subject."
        ::= { jnxFruEntry 6 }

    jnxFruSlot OBJECT-TYPE
        SYNTAX          Integer32 (0..'7fffffff'h)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The slot number of this subject.  This is equivalent
                to jnxFruL1Index in meaning.  Zero if unavailable or 
                inapplicable."
        ::= { jnxFruEntry 7 }

    jnxFruState OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),
                empty(2),
                present(3),
                ready(4),
                announceOnline(5),
                online(6),
                anounceOffline(7),
                offline(8),
                diagnostic(9),
                standby(10)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The current state for this subject."
        ::= { jnxFruEntry 8 }

    jnxFruTemp OBJECT-TYPE
        SYNTAX          Gauge32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The temperature in Celsius (degrees C) of this 
                subject.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 9 }

    jnxFruOfflineReason OBJECT-TYPE
        SYNTAX          INTEGER {
                unknown(1),                     -- unknown or other
                none(2),                        -- none 
                error(3),                       -- error 
                noPower(4),                     -- no power  
                configPowerOff(5),              -- configured to power off
                configHoldInReset(6),           -- configured to hold in reset
                cliCommand(7),                  -- offlined by cli command
                buttonPress(8),                 -- offlined by button press
                cliRestart(9),                  -- restarted by cli command
                overtempShutdown(10),           -- overtemperature shutdown
                masterClockDown(11),            -- master clock down
                singleSfmModeChange(12),        -- single SFM mode change
                packetSchedulingModeChange(13), -- packet scheduling mode change
                physicalRemoval(14),            -- physical removal
                unresponsiveRestart(15),        -- restarting unresponsive board
                sonetClockAbsent(16),           -- sonet out clock absent
                rddPowerOff(17),                -- RDD power off
                majorErrors(18),                -- major errors
                minorErrors(19),                -- minor errors
                lccHardRestart(20),             -- LCC hard restart
                lccVersionMismatch(21),         -- LCC version mismatch
                powerCycle(22),                 -- power cycle
                reconnect(23),                  -- reconnect
                overvoltage(24),                -- overvoltage
                pfeVersionMismatch(25),         -- PFE version mismatch
                febRddCfgChange(26),            -- FEB redundancy cfg changed
                fpcMisconfig(27),               -- FPC is misconfigured
                fruReconnectFail(28),           -- FRU did not reconnect
                fruFwddReset(29),               -- FWDD reset the fru
                fruFebSwitch(30),               -- FEB got switched
                fruFebOffline(31),              -- FEB was offlined
                fruInServSoftUpgradeError(32),  -- In Service Software Upgrade Error
                fruChasdPowerRatingExceed(33),  -- Chassis power rating exceeded
                fruConfigOffline(34),           -- Configured offline
                fruServiceRestartRequest(35)    -- restarting request from a service
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The offline reason of this subject."
        ::= { jnxFruEntry 10 }

    jnxFruLastPowerOff OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when this subject was last 
                powered off.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 11 }

    jnxFruLastPowerOn OBJECT-TYPE
        SYNTAX          TimeStamp
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The value of sysUpTime when this subject was last 
                powered on.  Zero if unavailable or inapplicable."
        ::= { jnxFruEntry 12 }

    jnxFruPowerUpTime OBJECT-TYPE
        SYNTAX          TimeInterval
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The time interval in 10-millisecond period
                that this subject has been up and running
                since the last power on time.  Zero if 
                unavailable or inapplicable."
        ::= { jnxFruEntry 13 }

    jnxFruChassisId OBJECT-TYPE
        SYNTAX         JnxChassisId
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION
                "Identifies the chassis on which the contents of this
                row exists."
        ::= { jnxFruEntry 14 }

    jnxFruChassisDescr OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS         current
        DESCRIPTION
                "A textual description of the chassis on which the
                contents of this row exists."
        ::= { jnxFruEntry 15 }

--
-- definition of Kernel Memory Used related stuff
--

    jnxBoxKernelMemoryUsedPercent OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The percentage of kernel memory used
                of this subject.  0 if unavailable or
                inapplicable."
        ::= { jnxBoxAnatomy 16 }


--
-- definition of chassis related traps
--
    -- Traps for chassis alarm conditions   

    jnxPowerSupplyFailure NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingState }
        STATUS          current
        DESCRIPTION
                "A jnxPowerSupplyFailure trap signifies that
                the SNMP entity, acting in an agent role, has
                detected that the specified power supply in the
                chassis has been in the failure (bad DC output) 
                condition."
        ::= { jnxChassisTraps 1 }

    jnxFanFailure NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingState }
        STATUS          current
        DESCRIPTION
                "A jnxFanFailure trap signifies that the SNMP
                entity, acting in an agent role, has detected
                that the specified cooling fan or impeller in 
                the chassis has been in the failure (not spinning) 
                condition."
        ::= { jnxChassisTraps 2 }

    jnxOverTemperature NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingTemp }
        STATUS          current
        DESCRIPTION
                "A jnxOverTemperature trap signifies that the 
                SNMP entity, acting in an agent role, has 
                detected that the specified hardware component
                in the chassis has experienced over temperature
                condition."
        ::= { jnxChassisTraps 3 }

    jnxRedundancySwitchover NOTIFICATION-TYPE
        OBJECTS         { jnxRedundancyContentsIndex,
                          jnxRedundancyL1Index,
                          jnxRedundancyL2Index,
                          jnxRedundancyL3Index,
                          jnxRedundancyDescr,
                          jnxRedundancyConfig,
                          jnxRedundancyState,
                          jnxRedundancySwitchoverCount,
                          jnxRedundancySwitchoverTime,
                          jnxRedundancySwitchoverReason }
        STATUS          current
        DESCRIPTION
                "A jnxRedundancySwitchover trap signifies that 
                the SNMP entity, acting in an agent role, has 
                detected that the specified hardware component
                in the chassis has experienced a redundancy 
                switchover event defined as a change in state
                of jnxRedundancyState from master to backup or
                vice versa."
        ::= { jnxChassisTraps 4 }

    jnxFruRemoval NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "A jnxFruRemoval trap signifies that the SNMP 
                entity, acting in an agent role, has detected 
                that the specified FRU (Field Replaceable Unit)
                has been removed from the chassis."
        ::= { jnxChassisTraps 5 }

    jnxFruInsertion NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "A jnxFruInsertion trap signifies that the SNMP 
                entity, acting in an agent role, has detected that
                the specified FRU (Field Replaceable Unit) has been 
                inserted into the chassis."
        ::= { jnxChassisTraps 6 }

    jnxFruPowerOff NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot,
                          jnxFruOfflineReason,
                          jnxFruLastPowerOff,
                          jnxFruLastPowerOn }
        STATUS          current
        DESCRIPTION
                "A jnxFruPowerOff trap signifies that the SNMP 
                entity, acting in an agent role, has detected 
                that the specified FRU (Field Replaceable Unit)
                has been powered off in the chassis."
        ::= { jnxChassisTraps 7 }

    jnxFruPowerOn NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot,
                          jnxFruOfflineReason,
                          jnxFruLastPowerOff,
                          jnxFruLastPowerOn }
        STATUS          current
        DESCRIPTION
                "A jnxFruPowerOn trap signifies that the SNMP 
                entity, acting in an agent role, has detected that
                the specified FRU (Field Replaceable Unit) has been 
                powered on in the chassis."
        ::= { jnxChassisTraps 8 }

    jnxFruFailed NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "This indicates the specified FRU (Field Replaceable Unit)
                 has failed in the chassis. Most probably this is due toi
                 some hard error such as fru is not powering up or not
                 able to load ukernel. In these cases, fru is replaced."
        ::= { jnxChassisTraps 9 }

    jnxFruOffline NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot,
                          jnxFruOfflineReason,
                          jnxFruLastPowerOff,
                          jnxFruLastPowerOn }
        STATUS          current
        DESCRIPTION
                "A jnxFruOffline trap signifies that the SNMP
                entity, acting in an agent role, has detected
                that the specified FRU (Field Replaceable Unit)
                has gone offline in the chassis."
        ::= { jnxChassisTraps 10 }

    jnxFruOnline NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "A jnxFruOnline trap signifies that the SNMP
                entity, acting in an agent role, has detected that
                the specified FRU (Field Replaceable Unit) has
                gone online in the chassis."
        ::= { jnxChassisTraps 11 }

    jnxFruCheck NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "A jnxFruCheck trap signifies that the SNMP
                entity, acting in an agent role, has detected that
                the specified FRU (Field Replaceable Unit) has
                encountered some operational errors and gone into
                check state in the chassis."
        ::= { jnxChassisTraps 12 }   



    -- Traps for chassis alarm cleared conditions

    jnxPowerSupplyOK NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingState }
        STATUS          current
        DESCRIPTION
                "A jnxPowerSupplyOK trap signifies that the 
                SNMP entity, acting in an agent role, has
                detected that the specified power supply in the
                chassis has recovered from the failure (bad DC output) 
                condition."
        ::= { jnxChassisOKTraps 1 }

    jnxFanOK NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingState }
        STATUS          current
        DESCRIPTION
                "A jnxFanOK trap signifies that the SNMP
                entity, acting in an agent role, has detected that
                the specified cooling fan or impeller in the chassis
                has recovered from the failure (not spinning) condition."
        ::= { jnxChassisOKTraps 2 }

    jnxTemperatureOK NOTIFICATION-TYPE
        OBJECTS         { jnxContentsContainerIndex,
                          jnxContentsL1Index,
                          jnxContentsL2Index,
                          jnxContentsL3Index,
                          jnxContentsDescr,
                          jnxOperatingTemp }
        STATUS          current
        DESCRIPTION
                "A jnxTemperatureOK trap signifies that the 
                SNMP entity, acting in an agent role, has 
                detected that the specified hardware component
                in the chassis has recovered from over temperature
                condition." 
        ::= { jnxChassisOKTraps 3 }

    jnxFruOK NOTIFICATION-TYPE
        OBJECTS         { jnxFruContentsIndex,
                          jnxFruL1Index,
                          jnxFruL2Index,
                          jnxFruL3Index,
                          jnxFruName,
                          jnxFruType,
                          jnxFruSlot }
        STATUS          current
        DESCRIPTION
                "A jnxFruOK trap signifies that the SNMP
                entity, acting in an agent role, has detected that
                the specified FRU (Field Replaceable Unit) has
                recovered from previous operational errors and it
                is in ok state in the chassis."
        ::= { jnxChassisOKTraps 4 }


END